1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to a flash memory management, and more particularly, to a flash memory management apparatus and method which divide blocks of a memory into data blocks and i-node blocks and respectively specify storage paths of a data, which are stored in the data blocks, in the i-node blocks in order to easily access the pieces of data by searching the i-node blocks.
2. Description of the Related Art
Flash memories are constantly-powered nonvolatile memories which can be erased and reprogrammed in units of blocks. Flash memories are a variation of electrically erasable programmable read-only memories (EEPROMs). While EEPROMs can be erased and rewritten at the byte level, flash memories can be rewritten in units of blocks. Therefore, flash memories are faster than EEPROMs.
A flash memory gets its name since the microchip is organized such that a section of memory cells are erased in a single action or flash. The erasure is caused by Fowler-Nordheim tunneling in which electrons pierce through a thin dielectric material to remove an electric charge from a floating gate associated with each memory cell.
A flash memory is not a passive device, such as a dynamic random access memory (DRAM), which includes a simple memory device, a refresh circuit, and an error correction circuit. Instead, the flash memory is an active device which receives commands from a programmer and executes the received commands. The commands are issued using a command user interface (CUI), and the entire state of a system is managed by a write state machine (WSM). Examples of the commands include read, write, and other control commands.
Nonvolatile memories, such as flash memories, have the advantages of both random access memories (RAMs), which can freely write and erase data, and read only memories (ROMs) which can retain stored data without power supply. Therefore, the nonvolatile memories are widely used as storage media of handheld electronic devices such as digital cameras, personal digital assistants (PDAs), and MP3 players.
Similar to related art RAMs or magnetic tapes, nonvolatile memories allow random access to data stored at a predetermined location. However, unlike the related art storage devices, the nonvolatile memories rewrite or erase data in units of erase blocks (hereinafter, referred to as “blocks”).
That is, when data is to be corrected, a block including the data is erased, and then the data is rewritten. It is just like deleting a word by pressing a delete key and then rewriting it instead of correcting letters or alphabets in the word one by one.
FIG. 1 illustrates the structure of a related art nonvolatile memory 100. Referring to FIG. 1, the related art nonvolatile memory 100 includes a plurality of blocks 110, and each of the blocks 110 includes a plurality of pages 200.
FIG. 2 illustrates the structure of one of the pages 200 illustrated in FIG. 1. The pages 200 are basic units of reading and writing operations. Each of the pages 200 may be divided into a data region 210 and a spare region 220. The data region 210 stores data, and the spare region 220 records an offset of a logical page which is recorded in a corresponding physical page.
The data region 210 of each of the pages 200 records 512 bytes of data. A file identification (ID) and a chunk number are assigned to each of the pages 200 and recorded in the spare region 220. In addition, two-bit serial numbers are assigned to the pages 200 as the positions of the pages 200 increase. Therefore, even when the same chunk number is assigned to two pages due to a power failure, a hitch or other errors, the pages can be distinguished from each other.
As described above, the spare region 220 exists in each of the pages 200, and information stored in the spare region 220 is used to retrieve data stored in the memory 100. That is, when a user or an apparatus desires to retrieve data stored in the memory 100, the spare regions 220 of the pages 200 are all scanned in order to extract the position of the data.
As the demands for flash memories increase, the integration density of the flash memories has also increased to tens of gigabytes. In order to initialize a memory having a structure as described above, a page can be accessed only after all spare regions of the memory are scanned, which may take more than tens of seconds.
Therefore, there exists a need for easily accessing a target page without scanning the entire memory.